package main

func Functional4() {
	println("hello,functional 4")
}

var Abc = func() string {
	return "abc"
}

func Functional5(a int) int {
	return a
}

func UseFunctional4() {
	muFunc := Functional4
	muFunc()
	//重载
	Abc = func() string {
		return "dcb"
	}
	myFunc5 := Functional5
	myFunc5(18)
}

// 局部方法调用
func Functional6() {
	//新定义了一个方法，赋值给了fn
	fn := func() string {
		return "hello"
	}
	fn()
}

// 匿名方法
func Functional8() {
	//新定义了一个方法，赋值给了fn
	fn := func() string {
		return "hello"
	}()
	println(fn)

}

// 意思是我返回一个，返回 string 的无参数方法
func Functional7() func() string {
	return func() string {
		return "hello"
	}
}
